home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / devices / parallel.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  4KB  |  99 lines

  1. #ifndef DEVICES_PARALLEL_H
  2. #define DEVICES_PARALLEL_H 1
  3. /*
  4. ** parallel.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/03/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for parallel.h
  17. */
  18. #ifndef IOExtParPtr
  19. #define IOExtParPtr ADDRESS
  20. #endif
  21. #ifndef IOPArrayPtr
  22. #define IOPArrayPtr ADDRESS
  23. #endif
  24. /*
  25. ** End of StructPointer defines for parallel.h
  26. */
  27.       
  28. #ifndef   EXEC_IO_H
  29. #include <exec/io.h>
  30. #endif   /* !EXEC_IO_H */
  31.  
  32.  
  33. STRUCT  IOPArray
  34.     LONGINT PTermArray0 
  35.     LONGINT PTermArray1 
  36. END STRUCT 
  37.  
  38. /******************************************************************/
  39. /* CAUTION !!  IF YOU ACCESS the parallel.device,  you MUST (!!!!) use
  40.    an IOExtPar-sized structure or you may overlay innocent memory !! */
  41. /******************************************************************/
  42.  
  43.  STRUCT   IOExtPar  
  44.     IOStdReq IOPar 
  45.  
  46.     LONGINT   io_PExtFlags     /* (not used) flag extension area */
  47.     BYTE    io_Status    /* status of parallel port and registers */
  48.     BYTE    io_ParFlags      /* see PARFLAGS bit definitions below */
  49.     IOPArray io_PTermArray  /* termination character array */
  50. END STRUCT 
  51.  
  52. #define PARB_SHARED 5      /* ParFlags non-exclusive access bit */
  53. #define PARF_SHARED (32)     /*    "     non-exclusive access mask */
  54. #define PARB_SLOWMODE   4      /*    "     slow printer bit */
  55. #define PARF_SLOWMODE   (16)     /*    "     slow printer mask */
  56. #define PARB_FASTMODE   3      /*    "     fast I/O mode selected bit */
  57. #define PARF_FASTMODE   (8)     /*    "     fast I/O mode selected mask */
  58. #define PARB_RAD_BOOGIE 3      /*    "     for backward compatibility */
  59. #define PARF_RAD_BOOGIE (8)     /*    "     for backward compatibility */
  60.  
  61. #define PARB_ACKMODE    2      /*    "     ACK interrupt handshake bit */
  62. #define PARF_ACKMODE    (4)     /*    "     ACK interrupt handshake mask */
  63.  
  64. #define PARB_EOFMODE    1      /*    "     EOF mode enabled bit */
  65. #define PARF_EOFMODE    (2)     /*    "     EOF mode enabled mask */
  66.  
  67. #define IOPARB_QUEUED   6      /* IO_FLAGS rqst-queued bit */
  68. #define IOPARF_QUEUED   (64)     /*    "     rqst-queued mask */
  69. #define IOPARB_ABORT    5      /*    "     rqst-aborted bit */
  70. #define IOPARF_ABORT    (32)     /*    "     rqst-aborted mask */
  71. #define IOPARB_ACTIVE   4      /*    "     rqst-qued-or-current bit */
  72. #define IOPARF_ACTIVE   (16)     /*    "     rqst-qued-or-current mask */
  73. #define IOPTB_RWDIR 3      /* IO_STATUS read=0, write=1 bit */
  74. #define IOPTF_RWDIR (8)     /*    "     read=0, write=1 mask */
  75. #define IOPTB_PARSEL    2      /*    "     printer selected on the A1000 */
  76. #define IOPTF_PARSEL    (4)     /* printer selected & serial "Ring Indicator"
  77.                       _on the A500 & A2000.  Be careful when
  78.                       making cables */
  79. #define IOPTB_PAPEROUT 1       /*    "     paper out bit */
  80. #define IOPTF_PAPEROUT (2)      /*    "     paper out mask */
  81. #define IOPTB_PARBUSY  0       /*    "     printer in busy toggle bit */
  82. #define IOPTF_PARBUSY  (1)      /*    "     printer in busy toggle mask */
  83. /* Note: previous versions of this include files had bits 0 and 2 swapped */
  84.  
  85. #define PARALLELNAME        "parallel.device"
  86.  
  87. #define PDCMD_QUERY     (CMD_NONSTD)
  88. #define PDCMD_SETPARAMS (CMD_NONSTD+1)
  89.  
  90. #define ParErr_DevBusy          1
  91. #define ParErr_BufTooBig    2
  92. #define ParErr_InvParam 3
  93. #define ParErr_LineErr      4
  94. #define ParErr_NotOpen      5
  95. #define ParErr_PortReset    6
  96. #define ParErr_InitErr          7
  97.  
  98. #endif  /* DEVICES_PARALLEL_H */
  99.